package com.itheima.service.mongo;

import com.itheima.domain.mongo.Visitor;
import com.itheima.vo.PageBeanVo;
import com.itheima.vo.PageInfo;

import java.util.List;

public interface VisitorService {
    List<Visitor> findVisitorsTop5(Long userId, Long lastAccessTime);

    //查询我的访客
    //1.我没有看过我的访客数据，返回前5个访客信息
    //2.之前看过我的访客，从上一次查看的时间往后查询5个访客数据
    List<Visitor> queryVisitors(Long userId,String nickname);

    PageBeanVo findHistoryList(Integer page, Integer pagesize, Long id);



    /**
     * 保存访客数据
     *
     * @param userId 我的id
     * @param visitorUserId 访客id
     * @param from 来源
     * @return
     */
    String saveVisitor(Long userId, Long visitorUserId, String from);

    /**
     * 查询我的访客数据，存在2种情况：
     * 1. 我没有看过我的访客数据，返回前5个访客信息
     * 2. 之前看过我的访客，从上一次查看的时间点往后查询5个访客数据
     *
     * @param userId
     * @return
     */
    List<Visitor> queryMyVisitor(Long userId);
    /**
     * 按照时间倒序排序，查询最近的访客信息
     *
     * @param userId
     * @param page
     * @param pageSize
     * @return
     */
    PageInfo<Visitor> topVisitor(Long userId, Integer page, Integer pageSize);

}
